package com.wz.wiki.controller;

import com.wz.wiki.entity.req.DocQueryReq;
import com.wz.wiki.entity.req.DocSaveReq;
import com.wz.wiki.entity.resp.DocQueryResp;
import com.wz.wiki.entity.resp.CommonResp;
import com.wz.wiki.entity.resp.PageResp;
import com.wz.wiki.service.DocService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author 王哲
 * @Contact 1121586359@qq.com
 * @ClassName TestController.java
 * @create 2023年06月27日 下午10:02
 * @Description 电子书控制层
 * @Version V1.0
 */
@RestController
@RequestMapping("/doc")
public class DocController {

    @Autowired
    private DocService docService;

    /**
     * 查询电子书列表
     * @return
     */
    @GetMapping("/list")
    public CommonResp list(DocQueryReq req) {
        PageResp<DocQueryResp> docs = docService.selectList(req);
        return CommonResp.success(docs);
    }

    /**
     * 查询电子书列表
     * @return
     */
    @GetMapping("/all")
    public CommonResp all(DocQueryReq req) {
        List<DocQueryResp> docs = docService.selectAll(req);
        return CommonResp.success(docs);
    }

    /**
     * 保存电子书
     * @param req
     * @return
     */
    @PostMapping("/save")
    public CommonResp save(@RequestBody DocSaveReq req) {
        docService.save(req);
        return CommonResp.success();
    }

    /**
     * 删除电子书
     */
    @DeleteMapping("/delete/{idsStr}")
    public CommonResp delete(@PathVariable String idsStr) {
        docService.delete(idsStr);
        return CommonResp.success();
    }

    /**
     * 查询电子书列表
     * @return
     */
    @GetMapping("/findContent/{id}")
    public CommonResp findContent(@PathVariable Long id) {
        String content = docService.findContent(id);
        return CommonResp.success(content);
    }

    /**
     * 点赞
     */
    @GetMapping("/vote/{id}")
    public CommonResp vote(@PathVariable Long id) {
        docService.voit(id);
        return CommonResp.success();
    }

}
